package cn.well.cloud.quartz.core.task.api;

import cn.well.cloud.quartz.modular.model.Timetask;


/**
 * 定时任务调度API
 * 调用形式：内部调用
 * Created by wison on 2019年9月10日.
 */
public interface JobOperationAPI{

    /**
     * 获取所有计划中的任务列表
     * @return
     */
    public Object getAllJob();

    /**
     * 所有正在运行的job
     * @return
     */
    public Object getRunningJob();

    /**
     * 添加任务
     * @param timetask
     * @return
     */
    public Object addJob(Timetask timetask) ;

    /**
     *  暂停一个job
     * @param name
     * @param groupName
     * @return
     */
    public Object pauseJob(String name , String  groupName) ;

    /**
     * 恢复一个job
     * @param name job名
     * @param groupName job组
     * @return
     */
    public Object resumeJob(String name , String  groupName) ;

    /**
     * 删除一个job
     * @param name job名
     * @param groupName job组
     * @return
     */
    public Object deleteJob(String name , String  groupName) ;

    /**
     *  立即执行job
     * @param name job名
     * @param groupName job组
     * @return
     */
    public Object runAJobNow(String name , String  groupName) ;


    /**
     * 更新job时间表达式
     * @param name job名
     * @param groupName  job组
     * @param cron 时间表达式
     * @return
     */
    public Object updateJobCron(String name , String  groupName, String cron) ;
}
